home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
gnu
/
progutil
/
stdwin.zoo
/
INSTALL
< prev
next >
Wrap
INI File
|
1989-10-17
|
6KB
|
163 lines
[Last modified on Fri Apr 14 15:02:38 MET DST 1989 by guido]
Installation hints
------------------
(Installation information for the Macintosh can be found in mac/README.)
STDWIN is currently not really a well-behaved product. Nevertheless,
you may try to configure it on a Unix system as follows (this has only
been tried on 4.2/4.3 BSD systems or derivatives such as Ultrix 2.0):
1) Edit the configuration files in conf.
2) Edit the top-level Makefile.
3) Type 'make -k makefiles' at the top level. This creates all makefiles
in subdirectories. It will also complain about some non-existent
directories, since I don't distribute evetything. Sorry.
4) Type 'make alfa' in the top-level directory to make the alphanumeric
(termcap) library.
5) Type 'make x11' in the top-level directory to make the X11 library.
Obviously, the trick is to know what to change in (1) and (2).
Have a look at conf/mkmk to see what it does, and edit it to know about
your hostname. The top level Makefile usually doesn't need adaptations
except if you want to have different default rules. Hint: LIBXLIB
should be the directory where the X11 library lives, e.g.
/usr/local/X/lib or /usr/lib.
The Makefile in subdirectories are automatically created as necessary by
the top-level Makefile.
To create test applications, go to the 'test' subdirectory, and type
'make alla' (to make all alfa test programs) and 'make allx' (to make
all X11 test programs). The executables will be named *.A and *.X.
Different versions of an application can co-exist in one subdirectory;
all STDWIN versions are binary compatible, so relinking
is all you need to do: the .o files can be used with either library.
To create the mini editor demo applications, go to the 'miniedit'
subdirectory, and type 'make miniedit.A miniedit.X'. This will make two
versions.
What belongs in which directory
-------------------------------
(Note: it is unlikely that you have received all directories.
Ignore comments on directories you haven't got.)
paper/ Source for the CWI Report describing STDWIN.
man/ Some man pages.
doc/ Documentation (currently a mess)
h/ Header files used in more than one subdirectory.
These are completely independent of the version used!
E.g.: stdwin.h, stdtext.h, stdevent.h, l_defs.h
Also tools.h, which defines bool etc.
tools/ Routines that only need libc to run (i.e., below STDWIN).
gen/ Various routines for stdwin that are common between
(some) versions, e.g., waskfile.
textedit/ The text-edit package.
alfa/ STDWIN version for alfa terminals (Unix, MS-DOS)
Also needs one of vtrm, ptrm, atrm.
atari/ STDWIN version for Atart ST (using Mark Williams C)
mg1/ STDWIN version for Whitechapel MG-1 (4.2 BSD)
mac/ STDWIN version for Apple Macintosh (using Lightspeed or MPW C)
x11/ STDWIN version for MIT's X Window System, protocol version 11
vtrm/ VTRM implementation for Unix (needed by "alfa")
ptrm/ VTRM implementation for MS-DOS
atrm/ VTRM implementation for Amoeba (same as vtrm except ioctls)
stubs/ STDWIN version for Amoeba network
server/ Server for Amoeba network
proto/ Prototype STDWIN version (not up-to-date).
Use as a starter for new implementations
Applications
------------
op/ Outline Processor, somewhat like ACTA on the Mac.
ubr/ Universal Browser, text-only 'Finder' for Unix, Mac and
Amoeba.
dpv/ Ditroff PreViewer.
qview/ Line printer queue viewing program.
wnote/ Amoeba message service.
bed/ Bitmap EDitor, compatible with X11 bitmap format.
vt/ A Virtual Terminal program, of possible use if you need
to implement terminal emulation using STDWIN
(Implements a VT100 subset).
miniedit/ Trivial multi-window text editor.
test/
faced simple 48x48 bitmap editor, edits files in .face format
bits trivial bitmap editor (no save facilities)
klok analog clock (rather ugly)
dklock digital clock (even uglier)
charset display character set
test[0-4] various test programs
How it fits together
--------------------
You can make a number of versions here: in alfa, mg1, X11 or stubs.
Notes: You can make mg1 only on a Whitechapel MG-1. You can make stubs
only on a machine running Amoeba. Etc.
Non-Unix machines: On the Mac, use files from mac; see instructions
there. On MS-DOS, you can make an alfa version using ptrm.
All versions need tools and gen.
The alfa version needs vtrm (but on MS-DOS, use ptrm instead).
Applications using it must be linked with -ltermcap.
Applications using the stubs version must be linked with -lamoeba.
Applications using the mg1 version must be linked with
<all the window manager libraries>.
Applications using the X11 version must be linked with -lX11.
The server is an application to be used with the alfa, x11 or mg1 version
(using it with the stubs version appears pointless). It needs -lamoeba
as well.
The use of mkmk
---------------
With a project of this size you can't trust your Makefiles anymore.
The shell script 'mkmk' should be used to generate a Makefile, with
complete dependencies etc., from information lying around:
- conf/Generic Standard definitions
- conf/Rules Standard rules
- conf/Sys.<version> System-dependent definitions
- conf/Site.<shost> Site-dependent definitions
- Make.conf The essence of the local Makefile
Plus dependencies generated from the sources.
What I should really have done
------------------------------
For each version, create a separate directory where all .o files are
collected. This way, a single source file can produce different objects
(guided by -I and/or -D options to cc). The advantage of the current
scheme, however, is that it reduces the number of compilations if
multiple versions are being generated on the same machine (e.g., alfa
and MG-1 or X11 are usually available on the same machine).